import os
import re
from pathlib import Path

def find_latest_mov_file(directory):
    # 获取所有.mov文件
    mov_files = list(Path(directory).glob('**/*.hip'))
    
    if not mov_files:
        return None
    
    # 按修改时间排序
    latest_by_mtime = max(mov_files, key=lambda x: x.stat().st_mtime)
    
    # 尝试按版本号排序
    try:
        # 提取文件名中的版本号（如v01, v001等）
        def extract_version(f):
            match = re.search(r'v(\d+)\.mov$', f.name, re.IGNORECASE)
            return int(match.group(1)) if match else 0
            
        latest_by_version = max(mov_files, key=extract_version)
        
        # 比较按修改时间和按版本号的结果
        if extract_version(latest_by_version) > extract_version(latest_by_mtime):
            return str(latest_by_version)
        return str(latest_by_mtime)
        
    except:
        # 如果版本号提取失败，返回按修改时间排序的结果
        return str(latest_by_mtime)

# 使用示例
directory_to_search = 'D:\\Projects\\DZZ\\EP11_seq01_sc052'
latest_mov = find_latest_mov_file(directory_to_search)

if latest_mov:
    print(f"最新的.mov文件是: {latest_mov}")
else:
    print("没有找到.mov文件")